package com.yuandian.management.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.management.entity.ConfOriginalDataFilter;
import com.yuandian.bpm.common.data.datascope.BpmBaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 原始样包过滤配置表-Mapper接口
 * @author zfsn
 * @date 2023-4-12
 */
@Mapper
public interface ConfOriginalDataFilterMapper extends BpmBaseMapper<ConfOriginalDataFilter> {
	/**
	 * 分页查询
	 *
	 * @param confOriginalDataFilter 筛选条件
	 * @return 通用返回对象
	 */
	Page<ConfOriginalDataFilter> listPage(Page<ConfOriginalDataFilter> objectPage, @Param("params") ConfOriginalDataFilter confOriginalDataFilter);

	void startOrStopStatus(@Param("ids") List<Integer> ids, @Param("isStatus") Integer isStatus, @Param("isDel") Integer isDel);

	void logicDelByIds(@Param("ids") List<Integer> ids, @Param("syncStatus") Integer syncStatus);

	/**
	 * 批量更新状态 '同步实时流状态' or '是否启用' or '逻辑删除'
	 *
	 * @param ids id集
	 * @param syncStatus   同步实时流状态
	 * @param status       是否启用 0禁用 1启用',
	 * @param isDel           逻辑删除0正常；1删除。
	 */
	void updateFilterStatusByIds(@Param("ids") List<Integer> ids,
								 @Param("syncStatus") Integer syncStatus,
								 @Param("status") Integer status,
								 @Param("isDel") Integer isDel);

	List<Map<String, Object>> queryRuleNameMap();

    List<ConfOriginalDataFilter> listByIds(@Param("ids") List<Integer> ids);
}